<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script>
    //4. 求一个三位数，叫做“喇叭花数”，该三位数等与其每位数字的阶乘之和。输出100~999的所有喇叭花数。
    (function work4() {
      //循环100-999
      for (let i = 100; i < 1000; i++) {
        // 判断三位阶乘之和是否等于这个数
        if (jc(Math.floor(i / 100) % 10) + jc(Math.floor(i / 10) % 10) + jc(i % 10) === i) {
          // 满足条件输出
          console.log(i)
        }
      }
    })(); //立即执行函数

    // 功能：求取参数x的阶乘
    // 参数：正整数
    function jc(x) {
      // 累乘器
      var cj = 1;
      //循环
      for (let i = 1; i <= x; i++) {
        //累乘
        cj *= i;
      }
      //返回累乘器
      return cj;
    }
  </script>
</head>

<body>

</body>

</html>